(defun c:cloud-of-dots (/         file-name input-file          string
                        begin-x   begin-y   begin-z   begin-a   begin-c
                        x         y         z         a         c
                       )
  (if (not
        (setq file-name (getfiled "Select a file:" "c:/" "txt;*" 4))
      )
    (exit)
  )
  (setq input-file (open file-name "r"))
  (setq string (read-line input-file))

  (while string
    (setq begin-x (1+ (vl-string-position (ascii "x") string))
          begin-y (1+ (vl-string-position (ascii "y") string))
          begin-z (1+ (vl-string-position (ascii "z") string))
          begin-a (1+ (vl-string-position (ascii "a") string))
          begin-c (1+ (vl-string-position (ascii "c") string))
    )
    (setq x (substr string (1+ begin-x) (- begin-y (1+ begin-x)))
          y (substr string (1+ begin-y) (- begin-z (1+ begin-y)))
          z (substr string (1+ begin-z) (- begin-a (1+ begin-z)))
          a (substr string (1+ begin-a) (- begin-c (1+ begin-a)))
          c (substr string (1+ begin-c))
    )
    (entmake
      (list
        (cons '0 "POINT")
        (cons '10
              (list (atof x)
                    (atof y)
                    (atof z)
              )
        )
      )
    )
    (setq string (read-line input-file))
  )

  (close input-file)
  (princ)
)